#include "homepage.h"
#include "ui_homepage.h"
#include "globalval.h"
#include <QPainter>

HomePage::HomePage(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::HomePage)
{
    ui->setupUi(this);
    hw = new homewig;

    setWindowTitle("智能菇房监控系统");
    setWindowIcon(QIcon(":/image/title.png"));

    // 创建并设置标题 QLabel 控件的位置和大小
    QLabel *titleLabel = new QLabel(this);
    titleLabel->setText("智能菇房  监控系统");
    titleLabel->setGeometry(310, 100, 400, 200); // 增加宽度至400像素，高度至200像素
    titleLabel->setAlignment(Qt::AlignCenter);  // 文本居中对齐

    // 设置 QLabel 的样式表
    QString labelStyle =
        "QLabel {"
        "   font-size: 72px;"                     // 字体大小为72像素，是原来的三倍
        "   color: #00008B;"                      // 深蓝色文字
        "   font-weight: bold;"                   // 字体加粗
        "   background-color: transparent;"       // 背景透明
        "   word-wrap: break-word;"               // 允许长文本自动换行
        "}";

    titleLabel->setStyleSheet(labelStyle);

    // 可选：启用 QLabel 自动调整大小
    titleLabel->setWordWrap(true);  // 启用自动换行

    // 设置窗口大小为背景图片的尺寸
        this->setFixedSize(1024, 948);

        // 创建并设置 QLineEdit 控件的位置和大小
        QLineEdit *nameEdit = new QLineEdit(this);
        nameEdit->setGeometry(362, 300, 300, 40);  // x=362, y=300, width=300, height=40
        nameEdit->setPlaceholderText("请输入账号");

        QLineEdit *passwdEdit = new QLineEdit(this);
        passwdEdit->setGeometry(362, 380, 300, 40);  // x=362, y=380, width=300, height=40
        passwdEdit->setPlaceholderText("请输入密码");
        passwdEdit->setEchoMode(QLineEdit::Password);

        // 设置 QLineEdit 的样式表
        QString lineEditStyle =
            "QLineEdit {"
            "   border: 2px solid gray;"         // 添加灰色边框，宽度为2像素
            "   font-size: 16px;"                // 字体大小为16像素
            "   padding: 5px;"                   // 内边距，可以根据需要调整
            "}"
            "QLineEdit:hover {"
            "   background-color: #f0f0f0;"      // 当鼠标悬停时背景颜色变为浅灰色
            "   border: 2px solid darkgray;"     // 悬停时边框颜色加深
            "}";

        nameEdit->setStyleSheet(lineEditStyle);
        passwdEdit->setStyleSheet(lineEditStyle);

        // 创建并设置 QPushButton 控件的位置和大小
        QPushButton *viewMushroomRoomButton = new QPushButton("查看菇房", this);
        viewMushroomRoomButton->setGeometry(362, 460, 300, 60);  // 设置位置和大小

        // 使用样式表设置按钮样式
        viewMushroomRoomButton->setStyleSheet(
            "QPushButton {"
            "   background-color: transparent;"  // 背景颜色透明
            "   color: red;"                     // 文字颜色红色
            "   border: 2px solid red;"          // 添加红色边框，宽度为2像素
            "   font-size: 24px;"                // 增大字体大小到24像素
            "   font-weight: bold;"              // 字体加粗
            "   text-align: center;"
            "   padding: 5px;"                   // 内边距，可以根据需要调整
            "}"
            "QPushButton:hover {"
            "   background-color: #ffe6e6;"      // 当鼠标悬停时背景颜色变为浅红色
            "   border: 2px solid darkred;"      // 悬停时边框颜色加深
            "   text-decoration: none;"          // 确保没有下划线
            "}"
        );


          // 登录按钮信号与槽的连接
    connect(viewMushroomRoomButton, &QPushButton::clicked, this, [=](){
        // 获取账号密码
        QString name = nameEdit->text();
        QString passwd = passwdEdit->text();

        // 验证
        if(name == "123" && passwd == "123")
        {
            this->hide();
            hw->show();
        }
        else {
            qDebug() << "账号密码不匹配";
        }
    });

    // 初始化场景
    initSence();
}

HomePage::~HomePage()
{
    delete ui;
}

void HomePage::on_pushButton_clicked()
{
//    this->close();
//    hw->show();
}

void HomePage::initSence()
{
    // 加载背景图片
    m_Background = QPixmap(":/image/bg.png");

    // 获取背景图片的尺寸
    int width = m_Background.width();
    int height = m_Background.height();

    // 设置窗口尺寸为背景图片的尺寸
    setFixedSize(width, height);
}

void HomePage::paintEvent(QPaintEvent *event)
{
    Q_UNUSED(event);

    QPainter painter(this);
    painter.drawPixmap(rect(), m_Background);
}
